home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / game / patch / WHDIGamesU-Z.lzh / games / Warhead.lha / War Head / Warhead < prev    next >
Text File  |  1998-07-09  |  4KB  |  222 lines

  1. ;----------------------------
  2. ; BJ (23.03.97)
  3. ; tabsize=4
  4. ;----------------------------
  5. ;****************************
  6.  
  7. (set #readme-file "README")    ;name of readme file
  8. ;(set #slave-name "")        ;optional !
  9. (set #cleanup "")        ;files to delete after install
  10. (set #CI_drive "DF0:")        ;default source drive
  11. (set #last-disk 1)        ;amount of disks
  12.  
  13. ;****************************
  14. (if
  15.     (<> #slave-name "")
  16.     (set #slave-name ("%s.slave" @app-name))
  17. )
  18. ;****************************
  19. ;----------------------------
  20. ; Checks if given program is reachable via the path
  21. ; parameters:
  22. ;        #program        - to check
  23. ; result:
  24. ;        #instok            - 0 if not found
  25.  
  26. (procedure P_chkinst
  27.     (if
  28.         (= 0 (run ("cd SYS:\nWhich %s" #program)))
  29.         (set #instok 1)
  30.         (set #instok 0)
  31.     )
  32. )
  33.  
  34. ;----------------------------
  35. ; Checks if given program is reachable via the path
  36. ;  if not reachable tries to install from local to RAM:
  37. ;   if fails abort install
  38. ; parameters:
  39. ;        #program        - to check
  40.  
  41. (procedure P_chkrun
  42.     (P_chkinst)
  43.     (if
  44.         (= #instok 0)
  45.         (
  46.             (if
  47.                 (exists #program)
  48.                 (copyfiles
  49.                     (help @copyfiles-help)
  50.                     (source #program)
  51.                     (dest "RAM:")        ;should always be in the path
  52.                 )
  53.                 (if
  54.                     (exists ("//c/%s" #program))        ;on installation package
  55.                     (copyfiles
  56.                         (help @copyfiles-help)
  57.                         (source ("//c/%s" #program))
  58.                         (dest "RAM:")        ;should always be in the path
  59.                     )
  60.                     (abort ("You must install %s first !" #program))
  61.                 )
  62.             )
  63.             (set #cleanup ("RAM:%s %s" #program #cleanup))
  64.         )
  65.     )
  66. )
  67.  
  68. ;----------------------------
  69.  
  70. (procedure P_install
  71. (
  72. (set #sver (getversion #source-file))
  73. (if
  74.     (exists #dest-file)
  75.     (
  76.         (set #dver (getversion #dest-file))
  77.         (if    (>= #sver #dver)
  78.             (
  79.                 (if
  80.                     (= @user-level 2)
  81.                     (message ("\nnow installing\n\n\"%s\" %ld.%ld\n\nover\n\n\"%s\" %ld.%ld" #source-file (/ #sver 65536) (BITAND #sver 65535) #dest-file (/ #dver 65536) (BITAND #dver 65535)))
  82.                 )
  83.                 (copyfiles
  84.                     (help @copyfiles-help)
  85.                     (source #source-file)
  86.                     (dest (pathonly #dest-file))
  87.                     (newname (fileonly #dest-file))
  88.                 )
  89.             )
  90.         )
  91.     )
  92.     (
  93.                 (if
  94.                     (= @user-level 2)
  95.                     (message ("\nnow installing\n\n\"%s\" %ld.%ld\n\nto\n\n\"%s\"" #source-file (/ #sver 65536) (BITAND #sver 65535) #dest-file ))
  96.                 )
  97.                 (copyfiles
  98.                     (help @copyfiles-help)
  99.                     (source #source-file)
  100.                     (dest (pathonly #dest-file))
  101.                     (newname (fileonly #dest-file))
  102.                 )
  103.     )
  104. )
  105. )
  106. )
  107.  
  108. ;----------------------------
  109. ; Create disk-Image
  110. ; parameters:
  111. ;        #dest            - DestinationPath
  112. ;        #CI_diskname    - DiskName
  113. ;        #CI_diskno        - DiskNumber
  114. ;        #CI_drive        - DriveToReadFrom
  115.  
  116. (procedure P_image
  117.     (message ("\nInsert \"%s\" into drive %s !\n\n(make sure it's the right disk because it will not checked)" #CI_diskname #CI_drive))
  118.     (if
  119.         (= 0 (run ("cd \"%s\"\npath RAM: ADD\nDIC %s FD=%ld LD=%ld >con:///1000//CLOSE" #dest #CI_drive #CI_diskno #CI_diskno)))
  120.         ("")
  121.         (abort "\"DIC\" has failed to create a diskimage")
  122.     )
  123. )
  124.  
  125. ;****************************
  126.  
  127. (if
  128.     (exists #readme-file)
  129.     (if
  130.         (= 0 (run ("SYS:Utilities/Multiview %s" #readme-file)))
  131.         ("")
  132.         (run ("SYS:Utilities/More %s" #readme-file))
  133.     )
  134. )
  135.  
  136.  
  137. ;install whdload if available
  138. (set #file "WHDLoad")
  139. (if
  140.     (exists #file)
  141.     (
  142.         (set #source-file #file)
  143.         (set #dest-file   (tackon "C:" #file))
  144.         (P_install)
  145.     )
  146. )
  147.  
  148.  
  149. ;check if WHDLoad is installed
  150. (set #program "WHDLoad")
  151. (P_chkinst)
  152. (if
  153.     (= #instok 0)
  154.     (abort "You must install WHDLoad first !")
  155. )
  156.  
  157. (set @default-dest
  158. (askdir
  159.     (prompt ("Where should \"%s\" installed ?\nA drawer \"%s\" will automatically created." @app-name @app-name))
  160.     (help @askdir-help)
  161.     (default @default-dest)
  162.     (disk)
  163. )
  164. )
  165.  
  166. (set #dest (tackon @default-dest @app-name))
  167.  
  168. ;if anything similar exist delete it
  169. (if
  170.     (exists #dest)
  171.     (run ("Delete \"%s\" \"%s.info\" all" #dest #dest))
  172. )
  173.  
  174. (makedir #dest
  175.     (help @makedir-help)
  176.     (infos)
  177. )
  178.  
  179. ;----------------------------
  180.  
  181. (makedir 
  182.     (tackon #dest "save")
  183.     (help @makedir-help)
  184. )
  185.  
  186. (copyfiles
  187.     (help @copyfiles-help)
  188.     (source #slave-name)
  189.     (dest #dest)
  190. )
  191. (copyfiles
  192.     (help @copyfiles-help)
  193.     (source ("%s.inf" @app-name ))
  194.     (newname ("%s.info" @app-name ))
  195.     (dest #dest)
  196. )
  197. (if
  198.     (exists #readme-file)
  199.     (copyfiles
  200.         (help @copyfiles-help)
  201.         (source #readme-file)
  202.         (dest #dest)
  203.     )
  204. )
  205.  
  206. (set #CI_diskno 1)
  207. (while
  208.     (<= #CI_diskno #last-disk)
  209.     (
  210.         (set #CI_diskname ("%s Disk %ld" @app-name #CI_diskno))
  211.         (P_image)
  212.         (set #CI_diskno (+ #CI_diskno 1))
  213.     )
  214. )
  215.  
  216. ;----------------------------
  217.  
  218. (run ("cd \"%s\"\nDelete %s ALL QUIET FORCE" #dest #cleanup))    ;delete all temporary files
  219.  
  220. (exit)
  221.  
  222.